package itheima.作业;

import java.util.Scanner;

public class QianDao {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 读取数据组数T
        int T = scanner.nextInt();
        
        // 处理每组数据
        for (int t = 0; t < T; t++) {
            // 读取每组数据的N(比赛场次)和S(第二名队伍总分)
            int N = scanner.nextInt();
            int S = scanner.nextInt();
            
            // 统计第一名的场次和DreamTear战队总分
            int firstPlaceCount = 0;
            int dreamTearTotalScore = 0;
            
            // 处理每场比赛的数据
            for (int i = 0; i < N; i++) {
                int Ri = scanner.nextInt(); // DreamTear战队的排名
                int Ci = scanner.nextInt(); // DreamTear战队该场比赛的得分
                
                if (Ri == 1) {
                    firstPlaceCount++; // 如果DreamTear战队获得第一名，计数加1
                }
                
                dreamTearTotalScore += Ci; // 累加DreamTear战队的得分
            }
            
            // 判断是否能获得奖励分
            // 条件1：是否在50%或以上的场次获得第一
            int reward1 = (firstPlaceCount * 2 >= N) ? 1 : 0;
            
            // 条件2：DreamTear战队总分是否比第二名领先50分及以上
            int reward2 = (dreamTearTotalScore - S >= 50) ? 1 : 0;
            
            // 输出结果
            System.out.println(reward1 + " " + reward2);
        }
        
        scanner.close();
    }
}